[INFO] fetching crate koi-certmesh 0.2.202603241449...
[INFO] testing koi-certmesh-0.2.202603241449 against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] extracting crate koi-certmesh 0.2.202603241449 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate koi-certmesh 0.2.202603241449
[INFO] finished tweaking crates.io crate koi-certmesh 0.2.202603241449
[INFO] tweaked toml for crates.io crate koi-certmesh 0.2.202603241449 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate koi-certmesh 0.2.202603241449 on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate koi-certmesh 0.2.202603241449 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c
[INFO] running `Command { std: "docker" "start" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling pxfm v0.1.28
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling hostname v0.4.2
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling utoipa-gen v5.4.0
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling primeorder v0.13.6
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling linux-keyutils v0.2.4
[INFO] [stderr]    Compiling constant_time_eq v0.3.1
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling base32 v0.5.1
[INFO] [stderr]    Compiling keyring v3.6.3
[INFO] [stderr]    Compiling totp-rs v5.7.1
[INFO] [stderr]    Compiling argon2 v0.5.3
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling p256 v0.13.2
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling utoipa v5.4.0
[INFO] [stderr]    Compiling qrcode v0.14.1
[INFO] [stderr]    Compiling koi-common v0.2.202603241449
[INFO] [stderr]    Compiling koi-crypto v0.2.202603241449
[INFO] [stderr]    Compiling koi-truststore v0.2.202603241449
[INFO] [stderr]    Compiling koi-certmesh v0.2.202603241449 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 30s
[INFO] running `Command { std: "docker" "inspect" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling koi-certmesh v0.2.202603241449 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 15.93s
[INFO] running `Command { std: "docker" "inspect" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/koi_certmesh-8a0f12fe646630ad)
[INFO] [stdout] 
[INFO] [stdout] running 264 tests
[INFO] [stdout] test audit::tests::append_and_read_entries ... ok
[INFO] [stdout] test ca::tests::ca_fingerprint_is_deterministic ... ok
[INFO] [stdout] test certmesh_paths::tests::default_paths_derive_from_data_dir ... ok
[INFO] [stdout] test certmesh_paths::tests::has_slot_table_false_for_nonexistent_dir ... ok
[INFO] [stdout] test ca::tests::is_ca_initialized_false_by_default ... ok
[INFO] [stdout] test certmesh_paths::tests::is_ca_initialized_false_for_nonexistent_dir ... ok
[INFO] [stdout] test enrollment::tests::parse_cidr_invalid ... ok
[INFO] [stdout] test enrollment::tests::parse_cidr_valid ... ok
[INFO] [stdout] test enrollment::tests::validate_scope_domain_exact_match ... ok
[INFO] [stdout] test enrollment::tests::validate_scope_domain_rejects_outside ... ok
[INFO] [stdout] test certfiles::tests::writes_all_four_files ... ok
[INFO] [stdout] test enrollment::tests::validate_scope_domain_rejects_partial_suffix ... ok
[INFO] [stdout] test enrollment::tests::validate_scope_domain_case_insensitive ... ok
[INFO] [stdout] test enrollment::tests::validate_scope_domain_suffix_match ... ok
[INFO] [stdout] test enrollment::tests::validate_subnet_ipv6 ... ok
[INFO] [stdout] test enrollment::tests::validate_scope_no_constraints_allows_any ... ok
[INFO] [stdout] test enrollment::tests::validate_subnet_mixed_versions_rejects ... ok
[INFO] [stdout] test enrollment::tests::validate_subnet_allows_in_range ... ok
[INFO] [stdout] test ca::tests::create_ca_produces_valid_state ... ok
[INFO] [stdout] test enrollment::tests::validate_subnet_no_constraint_allows_any ... ok
[INFO] [stdout] test enrollment::tests::validate_subnet_rejects_invalid_cidr ... ok
[INFO] [stdout] test enrollment::tests::validate_subnet_prefix_32_exact_match ... ok
[INFO] [stdout] test entropy::tests::different_seeds_produce_different_passphrases ... ok
[INFO] [stdout] test entropy::tests::estimate_entropy_empty ... ok
[INFO] [stdout] test entropy::tests::different_passphrases_produce_different_entropy ... ok
[INFO] [stdout] test entropy::tests::estimate_entropy_lowercase_only ... ok
[INFO] [stdout] test entropy::tests::estimate_entropy_mixed ... ok
[INFO] [stdout] test entropy::tests::generate_passphrase_is_deterministic ... ok
[INFO] [stdout] test entropy::tests::hash_passphrase_is_32_bytes ... ok
[INFO] [stdout] test entropy::tests::manual_entropy_produces_32_bytes ... ok
[INFO] [stdout] test entropy::tests::memorization_hint_format ... ok
[INFO] [stdout] test error::tests::all_certmesh_error_variants_map_to_expected_error_code_and_http_status ... ok
[INFO] [stdout] test error::tests::crypto_error_converts_to_certmesh_error ... ok
[INFO] [stdout] test error::tests::rate_limited_error_includes_remaining_secs_in_message ... ok
[INFO] [stdout] test failover::tests::find_active_primary_empty_services ... ok
[INFO] [stdout] test entropy::tests::generate_passphrase_produces_word_word_word_nn ... ok
[INFO] [stdout] test failover::tests::find_active_primary_missing_fingerprint_key ... ok
[INFO] [stdout] test failover::tests::find_active_primary_missing_role_key ... ok
[INFO] [stdout] test failover::tests::find_active_primary_mixed_roles ... ok
[INFO] [stdout] test failover::tests::find_active_primary_multiple_primaries_returns_first ... ok
[INFO] [stdout] test failover::tests::find_active_primary_skips_standby ... ok
[INFO] [stdout] test failover::tests::find_active_primary_wrong_fingerprint ... ok
[INFO] [stdout] test failover::tests::find_active_primary_matches_fingerprint ... ok
[INFO] [stdout] test entropy::tests::auto_generate_entropy_produces_32_bytes ... ok
[INFO] [stdout] test enrollment::tests::validate_subnet_rejects_outside ... ok
[INFO] [stdout] test ca::tests::full_ca_and_issue_round_trip has been running for over 60 seconds
[INFO] [stdout] test enrollment::tests::enrollment_closed_rejects has been running for over 60 seconds
[INFO] [stdout] test enrollment::tests::enrollment_with_invalid_totp_fails has been running for over 60 seconds
[INFO] [stdout] test enrollment::tests::rate_limit_after_failures has been running for over 60 seconds
[INFO] [stdout] test failover::tests::manifest_empty_public_key_fails has been running for over 60 seconds
[INFO] [stdout] test failover::tests::manifest_empty_signature_fails has been running for over 60 seconds
[INFO] [stdout] test failover::tests::manifest_sign_verify_round_trip has been running for over 60 seconds
[INFO] [stdout] test failover::tests::manifest_tampered_signature_fails has been running for over 60 seconds
[INFO] [stdout] test failover::tests::manifest_tampered_signature_fails ... ok
[INFO] [stdout] test enrollment::tests::enrollment_closed_rejects ... ok
[INFO] [stdout] test failover::tests::manifest_sign_verify_round_trip ... ok
[INFO] [stdout] test enrollment::tests::enrollment_with_invalid_totp_fails ... ok
[INFO] [stdout] test ca::tests::full_ca_and_issue_round_trip ... ok
[INFO] [stdout] test enrollment::tests::rate_limit_after_failures ... ok
[INFO] [stdout] test failover::tests::manifest_empty_signature_fails ... ok
[INFO] [stdout] test failover::tests::manifest_empty_public_key_fails ... ok
[INFO] [stdout] test failover::tests::should_promote_at_exact_boundary ... ok
[INFO] [stdout] test failover::tests::should_promote_false_when_no_absence ... ok
[INFO] [stdout] test failover::tests::should_promote_false_within_grace ... ok
[INFO] [stdout] test failover::tests::should_promote_true_after_grace ... ok
[INFO] [stdout] test failover::tests::should_promote_with_zero_grace ... ok
[INFO] [stdout] test failover::tests::manifest_with_empty_roster has been running for over 60 seconds
[INFO] [stdout] test failover::tests::manifest_with_multiple_members has been running for over 60 seconds
[INFO] [stdout] test failover::tests::promotion_dh_preserves_roster_metadata has been running for over 60 seconds
[INFO] [stdout] test failover::tests::promotion_dh_with_empty_roster has been running for over 60 seconds
[INFO] [stdout] test failover::tests::promotion_dh_wrong_keypair_fails has been running for over 60 seconds
[INFO] [stdout] test failover::tests::promotion_missing_server_ephemeral_key_fails has been running for over 60 seconds
[INFO] [stdout] test failover::tests::promotion_round_trip_with_dh has been running for over 60 seconds
[INFO] [stdout] test failover::tests::tampered_manifest_fails_verification has been running for over 60 seconds
[INFO] [stdout] test failover::tests::manifest_with_empty_roster ... ok
[INFO] [stdout] test failover::tests::tiebreaker_is_case_sensitive ... ok
[INFO] [stdout] test failover::tests::tiebreaker_lower_hostname_wins ... ok
[INFO] [stdout] test failover::tests::tiebreaker_with_common_prefixes ... ok
[INFO] [stdout] test failover::tests::tiebreaker_with_empty_hostname ... ok
[INFO] [stdout] test failover::tests::tiebreaker_with_numeric_hostnames ... ok
[INFO] [stdout] test failover::tests::manifest_with_multiple_members ... ok
[INFO] [stdout] test health::tests::different_length_fingerprints_are_invalid ... ok
[INFO] [stdout] test health::tests::empty_fingerprints_match ... ok
[INFO] [stdout] test health::tests::fingerprint_comparison_is_case_sensitive ... ok
[INFO] [stdout] test health::tests::heartbeat_interval_is_five_minutes ... ok
[INFO] [stdout] test health::tests::matching_fingerprints_are_valid ... ok
[INFO] [stdout] test health::tests::mismatched_fingerprints_are_invalid ... ok
[INFO] [stdout] test health::tests::non_hex_characters_dont_match_valid ... ok
[INFO] [stdout] test health::tests::real_fingerprint_round_trip ... ok
[INFO] [stdout] test health::tests::single_char_difference_fails ... ok
[INFO] [stdout] test health::tests::two_different_certs_produce_different_fingerprints ... ok
[INFO] [stdout] test health::tests::whitespace_fingerprints_dont_match_empty ... ok
[INFO] [stdout] test http::tests::certmesh_state_is_send_sync ... ok
[INFO] [stdout] test http::tests::close_enrollment_returns_200 ... ok
[INFO] [stdout] test http::tests::create_with_bad_entropy_returns_400 ... ok
[INFO] [stdout] test http::tests::create_with_short_entropy_returns_400 ... ok
[INFO] [stdout] test http::tests::decode_hex_invalid ... ok
[INFO] [stdout] test http::tests::decode_hex_odd_length ... ok
[INFO] [stdout] test http::tests::decode_hex_valid ... ok
[INFO] [stdout] test http::tests::destroy_endpoint_returns_200 ... ok
[INFO] [stdout] test http::tests::error_response_includes_error_code ... ok
[INFO] [stdout] test http::tests::health_without_ca_body_has_error_code ... ok
[INFO] [stdout] test http::tests::health_without_ca_returns_503 ... ok
[INFO] [stdout] test http::tests::join_without_ca_body_has_error_code ... ok
[INFO] [stdout] test http::tests::join_without_ca_returns_503 ... ok
[INFO] [stdout] test http::tests::log_endpoint_body_has_entries_field ... ok
[INFO] [stdout] test http::tests::log_endpoint_returns_200 ... ok
[INFO] [stdout] test http::tests::nonexistent_route_returns_404 ... ok
[INFO] [stdout] test http::tests::open_enrollment_accepts_empty_body ... ok
[INFO] [stdout] test http::tests::open_enrollment_returns_200 ... ok
[INFO] [stdout] test http::tests::open_enrollment_with_deadline ... ok
[INFO] [stdout] test http::tests::promote_without_ca_body_has_error_code ... ok
[INFO] [stdout] test http::tests::promote_without_ca_returns_503 ... ok
[INFO] [stdout] test http::tests::roster_without_ca_body_has_error_code ... ok
[INFO] [stdout] test http::tests::roster_without_ca_returns_503 ... ok
[INFO] [stdout] test http::tests::rotate_auth_without_ca_returns_503 ... ok
[INFO] [stdout] test http::tests::set_hook_not_found_body_has_error ... ok
[INFO] [stdout] test http::tests::set_hook_relative_path_returns_400 ... ok
[INFO] [stdout] test http::tests::set_hook_unknown_member_returns_404 ... ok
[INFO] [stdout] test http::tests::set_policy_clears_with_nulls ... ok
[INFO] [stdout] test http::tests::set_policy_invalid_cidr_ip_returns_400 ... ok
[INFO] [stdout] test http::tests::set_policy_invalid_cidr_returns_400 ... ok
[INFO] [stdout] test http::tests::set_policy_returns_200 ... ok
[INFO] [stdout] test http::tests::status_body_has_expected_fields ... ok
[INFO] [stdout] test http::tests::status_endpoint_returns_200 ... ok
[INFO] [stdout] test http::tests::status_endpoint_returns_json ... ok
[INFO] [stdout] test http::tests::unlock_with_wrong_passphrase_returns_error ... ok
[INFO] [stdout] test lifecycle::tests::already_expired_cert_needs_renewal ... ok
[INFO] [stdout] test lifecycle::tests::execute_reload_hook_bad_command ... ok
[INFO] [stdout] test lifecycle::tests::execute_reload_hook_captures_stderr ... ok
[INFO] [stdout] test lifecycle::tests::execute_reload_hook_empty_command ... ok
[INFO] [stdout] test lifecycle::tests::execute_reload_hook_failure ... ok
[INFO] [stdout] test lifecycle::tests::execute_reload_hook_success ... ok
[INFO] [stdout] test lifecycle::tests::members_needing_renewal_all_members_due ... ok
[INFO] [stdout] test lifecycle::tests::members_needing_renewal_empty_roster ... ok
[INFO] [stdout] test lifecycle::tests::members_needing_renewal_filters_by_threshold ... ok
[INFO] [stdout] test lifecycle::tests::members_needing_renewal_mixed_roles ... ok
[INFO] [stdout] test lifecycle::tests::members_needing_renewal_none_due ... ok
[INFO] [stdout] test lifecycle::tests::members_needing_renewal_skips_revoked ... ok
[INFO] [stdout] test failover::tests::tampered_manifest_fails_verification ... ok
[INFO] [stdout] test failover::tests::wrong_key_manifest_fails_verification has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_cert_expires_is_future has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_fingerprint_is_sha256 has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_cert_expires_is_future ... ok
[INFO] [stdout] test failover::tests::promotion_missing_server_ephemeral_key_fails ... ok
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_fingerprint_is_sha256 ... ok
[INFO] [stdout] test failover::tests::promotion_dh_wrong_keypair_fails ... ok
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_not_found has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_updates_cert_path has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_updates_roster has been running for over 60 seconds
[INFO] [stdout] test failover::tests::promotion_dh_with_empty_roster ... ok
[INFO] [stdout] test failover::tests::wrong_key_manifest_fails_verification ... ok
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_updates_cert_path ... ok
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_not_found ... ok
[INFO] [stdout] test failover::tests::promotion_round_trip_with_dh ... ok
[INFO] [stdout] test pond_ceremony::tests::init_complete_returns_result_data ... ok
[INFO] [stdout] test pond_ceremony::tests::init_custom_profile_asks_enrollment_then_approval ... ok
[INFO] [stdout] test pond_ceremony::tests::init_custom_with_approval_asks_operator ... ok
[INFO] [stdout] test pond_ceremony::tests::init_entropy_then_passphrase_suggestion ... ok
[INFO] [stdout] test pond_ceremony::tests::init_invalid_profile_reprompts ... ok
[INFO] [stdout] test pond_ceremony::tests::init_my_team_asks_operator ... ok
[INFO] [stdout] test pond_ceremony::tests::init_profile_then_entropy ... ok
[INFO] [stdout] test pond_ceremony::tests::init_rejects_short_passphrase ... ok
[INFO] [stdout] test pond_ceremony::tests::init_starts_with_profile_prompt ... ok
[INFO] [stdout] test pond_ceremony::tests::join_collects_code_then_verification ... ok
[INFO] [stdout] test pond_ceremony::tests::unknown_ceremony_rejected ... ok
[INFO] [stdout] test pond_ceremony::tests::unlock_collects_passphrase_then_completes ... ok
[INFO] [stdout] test profiles::tests::auto_unlock_policy ... ok
[INFO] [stdout] test profiles::tests::just_me_no_approval ... ok
[INFO] [stdout] test profiles::tests::my_organization_strict ... ok
[INFO] [stdout] test profiles::tests::my_team_requires_approval ... ok
[INFO] [stdout] test profiles::tests::parse_from_string ... ok
[INFO] [stdout] test profiles::tests::profile_serde_round_trip ... ok
[INFO] [stdout] test profiles::tests::profile_serializes_to_snake_case ... ok
[INFO] [stdout] test protocol::tests::audit_log_response_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::ca_announcement_has_correct_fields ... ok
[INFO] [stdout] test protocol::tests::certmesh_status_includes_policy_when_set ... ok
[INFO] [stdout] test protocol::tests::certmesh_status_omits_none_policy_fields ... ok
[INFO] [stdout] test protocol::tests::certmesh_status_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::certmesh_status_serializes ... ok
[INFO] [stdout] test protocol::tests::certmesh_status_uninitialized_round_trip ... ok
[INFO] [stdout] test protocol::tests::create_ca_request_omits_none_operator ... ok
[INFO] [stdout] test protocol::tests::create_ca_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::create_ca_request_with_operator ... ok
[INFO] [stdout] test protocol::tests::create_ca_response_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::destroy_response_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::health_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::health_response_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::hook_result_omits_none_output ... ok
[INFO] [stdout] test protocol::tests::join_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::join_request_without_sans_deserializes ... ok
[INFO] [stdout] test protocol::tests::join_response_serializes ... ok
[INFO] [stdout] test protocol::tests::open_enrollment_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::policy_request_omits_none_fields ... ok
[INFO] [stdout] test protocol::tests::policy_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::policy_summary_serializes ... ok
[INFO] [stdout] test protocol::tests::promote_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::promote_request_with_ephemeral_public_round_trip ... ok
[INFO] [stdout] test protocol::tests::promote_response_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::promote_response_with_ephemeral_public_round_trip ... ok
[INFO] [stdout] test protocol::tests::renew_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::renew_response_omits_none_hook_result ... ok
[INFO] [stdout] test protocol::tests::renew_response_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::roster_manifest_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::rotate_auth_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::rotate_auth_response_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::set_hook_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::set_hook_response_serializes ... ok
[INFO] [stdout] test protocol::tests::unlock_request_serde_round_trip ... ok
[INFO] [stdout] test protocol::tests::unlock_response_serde_round_trip ... ok
[INFO] [stdout] test roster::tests::backward_compat_deserialize_without_new_fields ... ok
[INFO] [stdout] test roster::tests::backward_compat_phase3_roster_without_phase4_fields ... ok
[INFO] [stdout] test roster::tests::close_enrollment_clears_deadline ... ok
[INFO] [stdout] test roster::tests::enrollment_with_deadline_auto_closes ... ok
[INFO] [stdout] test roster::tests::enrollment_with_future_deadline_stays_open ... ok
[INFO] [stdout] test roster::tests::find_and_count_members ... ok
[INFO] [stdout] test roster::tests::find_member_mut_and_touch ... ok
[INFO] [stdout] test roster::tests::new_fields_skip_serialization_when_none ... ok
[INFO] [stdout] test roster::tests::new_roster_just_me ... ok
[INFO] [stdout] test roster::tests::new_roster_organization_closed ... ok
[INFO] [stdout] test roster::tests::open_and_close_enrollment ... ok
[INFO] [stdout] test roster::tests::primary_and_standbys_helpers ... ok
[INFO] [stdout] test roster::tests::roster_metadata_scope_fields_serialize_when_set ... ok
[INFO] [stdout] test roster::tests::roster_metadata_scope_fields_skip_when_none ... ok
[INFO] [stdout] test roster::tests::roster_serde_round_trip ... ok
[INFO] [stdout] test roster::tests::save_and_load_roster ... ok
[INFO] [stdout] test roster::tests::standby_role_serde ... ok
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_updates_roster ... ok
[INFO] [stdout] test failover::tests::promotion_dh_preserves_roster_metadata ... ok
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_with_failing_hook_still_updates_roster has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_with_failing_hook_still_updates_roster ... ok
[INFO] [stdout] test tests::build_status_locked_ca ... ok
[INFO] [stdout] test tests::build_status_member_roles_lowercase ... ok
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_with_hook has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_member_cert_fullchain_contains_both_certs has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_member_cert_produces_distinct_fingerprints has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_member_cert_reuses_sans has been running for over 60 seconds
[INFO] [stdout] test tests::accept_roster_sync_rejects_invalid_manifest has been running for over 60 seconds
[INFO] [stdout] test tests::accept_roster_sync_replaces_roster has been running for over 60 seconds
[INFO] [stdout] test tests::build_status_includes_policy_fields has been running for over 60 seconds
[INFO] [stdout] test lifecycle::tests::renew_and_update_member_with_hook ... ok
[INFO] [stdout] test lifecycle::tests::renew_member_cert_fullchain_contains_both_certs ... ok
[INFO] [stdout] test tests::ca_announcement_returns_none_when_ca_locked ... ok
[INFO] [stdout] test lifecycle::tests::renew_member_cert_produces_distinct_fingerprints ... ok
[INFO] [stdout] test tests::capability_status_locked ... ok
[INFO] [stdout] test tests::capability_status_uninitialised ... ok
[INFO] [stdout] test tests::accept_roster_sync_rejects_invalid_manifest ... ok
[INFO] [stdout] test lifecycle::tests::renew_member_cert_reuses_sans ... ok
[INFO] [stdout] test tests::build_status_includes_policy_fields ... ok
[INFO] [stdout] test tests::build_status_unlocked_ca has been running for over 60 seconds
[INFO] [stdout] test tests::build_status_unlocked_ca ... ok
[INFO] [stdout] test tests::health_check_returns_error_when_ca_locked ... ok
[INFO] [stdout] test tests::ca_announcement_returns_descriptor_for_primary has been running for over 60 seconds
[INFO] [stdout] test tests::ca_announcement_returns_none_when_no_primary has been running for over 60 seconds
[INFO] [stdout] test tests::capability_status_unlocked has been running for over 60 seconds
[INFO] [stdout] test tests::certmesh_status_returns_profile has been running for over 60 seconds
[INFO] [stdout] test tests::ca_announcement_returns_descriptor_for_primary ... ok
[INFO] [stdout] test tests::close_enrollment_changes_state has been running for over 60 seconds
[INFO] [stdout] test tests::health_check_rejects_mismatched_fingerprint has been running for over 60 seconds
[INFO] [stdout] test tests::ca_announcement_returns_none_when_no_primary ... ok
[INFO] [stdout] test tests::local_hostname_returns_some ... ok
[INFO] [stdout] test tests::capability_status_unlocked ... ok
[INFO] [stdout] test tests::accept_roster_sync_replaces_roster ... ok
[INFO] [stdout] test tests::certmesh_status_returns_profile ... ok
[INFO] [stdout] test tests::close_enrollment_changes_state ... ok
[INFO] [stdout] test tests::health_check_rejects_mismatched_fingerprint ... ok
[INFO] [stdout] test tests::health_check_updates_last_seen has been running for over 60 seconds
[INFO] [stdout] test tests::health_check_updates_last_seen ... ok
[INFO] [stdout] test tests::health_check_validates_matching_fingerprint has been running for over 60 seconds
[INFO] [stdout] test tests::node_role_returns_none_for_empty_roster has been running for over 60 seconds
[INFO] [stdout] test tests::node_role_returns_role_for_matching_hostname has been running for over 60 seconds
[INFO] [stdout] test tests::open_enrollment_changes_state has been running for over 60 seconds
[INFO] [stdout] test tests::open_enrollment_with_deadline has been running for over 60 seconds
[INFO] [stdout] test tests::pinned_ca_fingerprint_returns_none_for_empty_roster has been running for over 60 seconds
[INFO] [stdout] test tests::node_role_returns_role_for_matching_hostname ... ok
[INFO] [stdout] test tests::health_check_validates_matching_fingerprint ... ok
[INFO] [stdout] test tests::promote_returns_error_when_ca_locked ... ok
[INFO] [stdout] test tests::node_role_returns_none_for_empty_roster ... ok
[INFO] [stdout] test tests::pinned_ca_fingerprint_returns_value_for_matching_member has been running for over 60 seconds
[INFO] [stdout] test tests::open_enrollment_changes_state ... ok
[INFO] [stdout] test tests::open_enrollment_with_deadline ... ok
[INFO] [stdout] test tests::pinned_ca_fingerprint_returns_none_for_empty_roster ... ok
[INFO] [stdout] test tests::pinned_ca_fingerprint_returns_value_for_matching_member ... ok
[INFO] [stdout] test tests::promote_response_can_be_accepted_with_dh has been running for over 60 seconds
[INFO] [stdout] test tests::promote_returns_encrypted_material has been running for over 60 seconds
[INFO] [stdout] test tests::receive_renewal_executes_hook_if_set has been running for over 60 seconds
[INFO] [stdout] test tests::receive_renewal_handles_invalid_expires_gracefully has been running for over 60 seconds
[INFO] [stdout] test tests::receive_renewal_skips_roster_update_for_unknown_member has been running for over 60 seconds
[INFO] [stdout] test tests::receive_renewal_updates_roster_member has been running for over 60 seconds
[INFO] [stdout] test tests::renew_all_due_partial_failure_continues has been running for over 60 seconds
[INFO] [stdout] test tests::receive_renewal_executes_hook_if_set ... ok
[INFO] [stdout] test tests::renew_all_due_returns_empty_when_ca_locked ... ok
[INFO] [stdout] test tests::receive_renewal_handles_invalid_expires_gracefully ... ok
[INFO] [stdout] test tests::renew_all_due_renews_expiring_members has been running for over 60 seconds
[INFO] [stdout] test tests::receive_renewal_updates_roster_member ... ok
[INFO] [stdout] test tests::roster_manifest_returns_error_when_ca_locked ... ok
[INFO] [stdout] test tests::receive_renewal_skips_roster_update_for_unknown_member ... ok
[INFO] [stdout] test tests::rotate_auth_fails_when_ca_locked ... ok
[INFO] [stdout] test tests::renew_all_due_partial_failure_continues ... ok
[INFO] [stdout] test tests::renew_all_due_renews_expiring_members ... ok
[INFO] [stdout] test tests::renew_all_due_returns_empty_when_no_members_due has been running for over 60 seconds
[INFO] [stdout] test tests::roster_manifest_is_verifiable has been running for over 60 seconds
[INFO] [stdout] test tests::roster_manifest_returns_signed_manifest has been running for over 60 seconds
[INFO] [stdout] test tests::set_policy_clears_constraints has been running for over 60 seconds
[INFO] [stdout] test tests::renew_all_due_returns_empty_when_no_members_due ... ok
[INFO] [stdout] test tests::set_policy_rejects_cidr_with_bad_ip has been running for over 60 seconds
[INFO] [stdout] test tests::promote_returns_encrypted_material ... ok
[INFO] [stdout] test tests::roster_manifest_is_verifiable ... ok
[INFO] [stdout] test tests::set_policy_rejects_invalid_cidr has been running for over 60 seconds
[INFO] [stdout] test tests::set_policy_clears_constraints ... ok
[INFO] [stdout] test tests::uninitialized_core_enroll_returns_error ... ok
[INFO] [stdout] test tests::uninitialized_core_promote_returns_error ... ok
[INFO] [stdout] test tests::uninitialized_core_renew_all_due_returns_empty ... ok
[INFO] [stdout] test tests::uninitialized_core_roster_manifest_returns_error ... ok
[INFO] [stdout] test tests::uninitialized_core_rotate_auth_returns_error ... ok
[INFO] [stdout] test tests::uninitialized_core_status_shows_empty_roster ... ok
[INFO] [stdout] test tests::roster_manifest_returns_signed_manifest ... ok
[INFO] [stdout] test tests::set_policy_rejects_cidr_with_bad_ip ... ok
[INFO] [stdout] test tests::set_policy_rejects_invalid_cidr ... ok
[INFO] [stdout] test tests::promote_response_can_be_accepted_with_dh ... ok
[INFO] [stdout] test tests::set_policy_updates_constraints ... ok
[INFO] [stdout] test tests::set_reload_hook_sets_hook_for_known_member ... ok
[INFO] [stderr]    Doc-tests koi_certmesh
[INFO] [stdout] test tests::set_reload_hook_unknown_member_returns_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 264 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 683.91s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c", kill_on_drop: false }`
[INFO] [stdout] 12250483beaef8c6a08b21082169c93549971bc0d741756f030774045f72200c
